#include <my_header.h>
// 使用fork创建一个新进程 pid==0子进程 执行if和else语句
// 首先打印输出父进程的语句 再执行子进程 会调用execl函数
// 执行4_sum.exec.c语句 之后执行到这里结束 不会再执行子
// 进程下面的程序
/* Usage: ./4_exec */
int main(void){                                  

    pid_t pid = fork();
    if(pid == 0)
    {
        // 子进程
        // 在子进程调用库函数execl(文件路径，可执
        // 行程序的名字，内部函数的实现...,(char *)0);
       // ***********执行
        //execl("/home/wuhaonan/start_class/day_linux_CDay11_进程/Linux进程操作/4_sum_exec",
         //     "./4_sum_exec", "1" "2", (char *)0);
        // execl("./4_sum_exec", "./4_sum_exec",
         ///"1", "2", (char *)0);
         execl("4_sum_exec", "./4_sum_exec", "1",
         "2", (char *)0);
         printf("*****\n");
    }else
    {
        // 父进程
        printf("main process \n");
        // 睡1 s 防止子进程打印输出到命令行上
        sleep(1);
    }
    return 0;
}

// execl记载一个新的程序
// execv传一个指针数组
#if 0
int main(void)
{
    pid_t pid = fork();
    if(pid == 0)
    {
        char *args[] = ("./4_sum_exec", "2",
                        "3", (char *)0);
        execv("/home/wuhaonan/start_class/day_linux_CDay11_进程/Linux进程操作/4_sum_exec", args);

        //execv("./05_test", args);
        //execv("05_test", args);
    }else{
        printf("main process \n");
    }
    return 0;
}

#endif
